﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using BusinessObjects.BussinessVoucher;

namespace DataObjects.StandartInterfaces.Voucher
{
    /// <summary>
    /// IFixedAssetLedgerDao
    /// </summary>
    public interface IFixedAssetLedgerDao
    {
        /// <summary>
        /// Gets the fixed asset ledger by reference identifier.
        /// </summary>
        /// <param name="refId">The reference identifier.</param>
        /// <param name="refTypeId">The reference type identifier.</param>
        /// <returns></returns>
        FixedAssetLedger GetFixedAssetLedgerByRefId(long refId, int refTypeId);

        /// <summary>
        /// Inserts the fixed asset ledger.
        /// </summary>
        /// <param name="fixedAssetLedger">The fixed asset ledger.</param>
        /// <returns></returns>
        string InsertFixedAssetLedger(FixedAssetLedger fixedAssetLedger);

        /// <summary>
        /// Deletes the fixed asset ledger by reference identifier.
        /// </summary>
        /// <param name="refId">The reference identifier.</param>
        /// <param name="refTypeId">The reference type identifier.</param>
        /// <returns></returns>
        string DeleteFixedAssetLedgerByRefId(long refId, int refTypeId);

        /// <summary>
        /// Gets the sequence.
        /// </summary>
        /// <returns></returns>
        long GetSequence();
    }
}
